Consulta de Guías Docentes



Academic Year/course: 2018/19

534 - Master's Degree in Informatics Engineering

62222 - High Performance Computing


Syllabus Information

Academic Year:
2018/19
Subject:
62222 - High Performance Computing
Faculty / School:
110 - Escuela de Ingeniería y Arquitectura
Degree:
534 - Master's Degree in Informatics Engineering
ECTS:
6.0
Year:
1
Semester:
First semester
Subject Type:
Compulsory
Module:
---

4.1. Methodological overview

The methodology followed in this course is oriented towards achievement of the learning objectives. A wide range of teaching and learning tasks are implemented, such as

  1. Class attendance. In lectures the teacher explains the course contents and includes illustrative examples. 
  2. Laboratory sessions. Activities with specialized equipment (in the laboratory, computer rooms).
  3. Tutorials. Students can review and discuss with the teacher the materials and topics presented in class.
  4. Assessment. A set of written and oral tests, assignments, projects, etc.
  5. Autonomous work. Preparation of assignments and exercises, study of lectures' contents, preparation of examination, library research, complementary readings, problem-solving, etc. 

4.2. Learning tasks

The course (150 hours) includes the following learning tasks: 

  • Classroom activities (50 hours). Seminars, problem-solving, laboratory sessions, visits, etc.
  • Research assignments and projects (45 hours). 
  • Tutorials (5 hours).
  • Autonomous work and study (45 hours).
  • Assessment (5 hours). Exam and defense of the course project.

4.3. Syllabus

The course will address the following topics:
Section  1: Numerical simulation

  • Numerical simulation of continuous phenomena
  • Numerical simulation of discrete events
  • Approximations and numerical techniques

Section 2: Architecture and Technology of Supercomputers

  • Shared memory multiprocessor systems. Coherence, consistency
  • Distributed memory multiprocessor systems. Interconnection networks
  • Specific architectures for high performance. Multimedia extensions, GPGPUs

Section 3: Parallel Programming Paradigms

  • Shared memory
    • Vectorization
    • Automatic parallelization. Help the compiler
    • Manual parallelization: OpenMP
  • Distributed memory
    • MPI

Section 4: Optimization of parallel programs

  • Optimization Techniques
  • Metrics and performance analysis tools in supercomputers


These contents will be strengthened through the preparation of case studies in which the acquired knowledge to solve a complex problem will be applied.

4.4. Course planning and calendar

Further information concerning the timetable, classroom, office hours, assessment dates and other details regarding this course, will be provided on the first day of class or please refer to the Center website and course website.

 


Curso Académico: 2018/19

534 - Máster Universitario en Ingeniería Informática

62222 - Computación de altas prestaciones


Información del Plan Docente

Año académico:
2018/19
Asignatura:
62222 - Computación de altas prestaciones
Centro académico:
110 - Escuela de Ingeniería y Arquitectura
Titulación:
534 - Máster Universitario en Ingeniería Informática
Créditos:
6.0
Curso:
1
Periodo de impartición:
Primer semestre
Clase de asignatura:
Obligatoria
Módulo:
---

1.1. Objetivos de la asignatura

La asignatura y sus resultados previstos responden a los siguientes planteamientos y objetivos:

Con un fuerte carácter aplicado, tras finalizar con éxito de la asignatura, cada estudiante deberá haber conseguido los siguientes objetivos:

  • Dominar los conceptos y herramientas que le permitan haber adquirido la formación como profesional, tecnólogo e investigador en el campo de la computación de altas prestaciones.
  • Contar con las bases necesarias para hacer uso de los recursos de grandes instalaciones y supercomputadores en la resolución de problemas del mundo real, así como el análisis y evaluación de los resultados obtenidos.
  • Estar adecuadamente preparado (contando con las capacidades necesarias) para incorporarse a centros o departamentos de innovación, investigación y desarrollo, parques tecnológicos, parques industriales, y centros de alta tecnología, que hacen uso de la computación de altas prestaciones.

1.2. Contexto y sentido de la asignatura en la titulación

La razón de ser de esta asignatura es conocer el estado del arte de la computación de altas prestaciones (soporte hardware y paradigmas de programación) y su relación con la simulación de fenómenos continuos y discretos, sus aplicaciones industriales, científicas y tecnológicas, así como los problemas abiertos que existen en la actualidad.

1.3. Recomendaciones para cursar la asignatura

No existe ningún requisito ni recomendación especial para cursar la asignatura.

2.1. Competencias

Al superar la asignatura, el estudiante será más competente para...

Conseguir adquirir las siguientes competencias básicas y generales:

CG-01 - Capacidad para proyectar, calcular y diseñar productos, procesos e instalaciones en todos los ámbitos de la Ingeniería Informática.

CG-03 - Capacidad para dirigir, planificar y supervisar equipos multidisciplinares.

CG-04 - Capacidad para el modelado matemático, cálculo y simulación en centros tecnológicos y de ingeniería de empresa, particularmente en tareas de investigación, desarrollo e innovación en todos los ámbitos relacionados con la Ingeniería en Informática.

CG-05 - Capacidad para la elaboración, planificación estratégica, dirección, coordinación y gestión técnica y económica de proyectos en todos los ámbitos de la Ingeniería en Informática siguiendo criterios de calidad y medioambientales.

CG-08 - Capacidad para la aplicación de los conocimientos adquiridos y de resolver problemas en entornos nuevos o poco conocidos dentro de contextos más amplios y mulitidisciplinares, siendo capaces de integrar estos conocimientos

CG-11 - Capacidad para adquirir conocimientos avanzados y demostrado, en un contexto de investigación científica y tecnológica o altamente especializado, una comprensión detallada y fundamentada de los aspectos teóricos y prácticos y de la metodología de trabajo en uno o más campos de estudio.

CG-12 - Capacidad para aplicar e integrar sus conocimientos, la comprensión de estos, su fundamentación científica y sus capacidades de resolución de problemas en entornos nuevos y definidos de forma imprecisa, incluyendo contextos de carácter multidisciplinar tanto investigadores como profesionales altamente especializados.

CG-13 - Capacidad para evaluar y seleccionar la teoría científica adecuada y la metodología precisa de sus campos de estudio para formular juicios a partir de información incompleta o limitada incluyendo, cuando sea preciso y pertinente, una reflexión sobre la responsabilidad social o ética ligada a la solución que se proponga en cada caso

CG-14 - Capacidad para predecir y controlar la evolución de situaciones complejas mediante el desarrollo de nuevas e innovadoras metodologías de trabajo adaptadas al ámbito científico/investigador, tecnológico o profesional concreto, en general multidisciplinar, en el que se desarrolle su actividad

CG-15 - Capacidad para transmitir de un modo claro y sin ambigüedades a un público especializado o no, resultados procedentes de la investigación científica y tecnológica o del ámbito de la innovación más avanzada, así como los fundamentos más relevantes sobre los que se sustentan.

CG-16 - Capacidad para desarrollar la autonomía suficiente para participar en proyectos de investigación y colaboraciones científicas o tecnológicas dentro su ámbito temático, en contextos interdisciplinares y, en su caso, con una alta componente de transferencia del conocimiento.

CG-17 - Capacidad para asumir la responsabilidad de su propio desarrollo profesional y de su especialización en uno o más campos de estudio.

CB6 - Poseer y comprender conocimientos que aporten una base u oportunidad de ser originales en el desarrollo y/o aplicación de ideas, a menudo en un contexto de investigación

CB7 - Que los estudiantes sepan aplicar los conocimientos adquiridos y su capacidad de resolución de problemas en entornos nuevos o poco conocidos dentro de contextos más amplios (o multidisciplinares) relacionados con su área de estudio

CB8 - Que los estudiantes sean capaces de integrar conocimientos y enfrentarse a la complejidad de formular juicios a partir de una información que, siendo incompleta o limitada, incluya reflexiones sobre las responsabilidades sociales y éticas vinculadas a la aplicación de sus conocimientos y juicios

CB9 - Que los estudiantes sepan comunicar sus conclusiones y los conocimientos y razones últimas que las sustentan a públicos especializados y no especializados de un modo claro y sin ambigüedades

CB10 - Que los estudiantes posean las habilidades de aprendizaje que les permitan continuar estudiando de un modo que habrá de ser en gran medida autodirigido o autónomo.

 

Conseguir adquirir las siguientes competencias específicas:

CTI-01 - Capacidad para modelar, diseñar, definir la arquitectura, implantar, gestionar, operar, administrar y mantener aplicaciones, redes, sistemas, servicios y contenidos informáticos.

CTI-07 - Capacidad para comprender y poder aplicar conocimientos avanzados de computación de altas prestaciones y métodos numéricos o computacionales a problemas de ingeniería.

 

2.2. Resultados de aprendizaje

El alumno deberá ser capaz de:

 

1. Analizar, comparar y evaluar diferentes arquitecturas para supercomputación

2. Definir, evaluar y seleccionar la arquitectura y el paradigma de programación paralela más adecuados para la ejecución de un problema científico

3. Comparar y evaluar alternativas de diseño e implementación de aplicaciones para computadores paralelos con diferentes arquitecturas

4. Enfrentarse a arquitecturas emergentes

5. Usar las herramientas adecuadas para el análisis de prestaciones de un supercomputador

6. Interpretar la información proporcionada por las herramientas de análisis de prestaciones en supercomputadores e inferir acciones para mejorar su rendimiento

7. Conocer y usar métodos numéricos fundamentales para la aproximación de soluciones de problemas en la ingeniería

8. Desarrollar implementaciones paralelas de los métodos de aproximación numérica más conocidos para sistemas de supercomputación

 

 

2.3. Importancia de los resultados de aprendizaje

Los resultados de aprendizaje de esta asignatura aportan al alumno las capacidades necesarias para el uso de los recursos de grandes instalaciones y supercomputadores en la resolución de problemas del mundo real, así como el análisis y evaluación de los resultados obtenidos. La demanda de este tipo de expertos es creciente tanto en el mundo de la investigación como en la industria.

3.1. Tipo de pruebas y su valor sobre la nota final y criterios de evaluación para cada prueba

El estudiante deberá demostrar que ha alcanzado los resultados de aprendizaje previstos mediante las siguientes actividades de evaluacion

Prueba final presencial escrita de respuesta abierta. (30% - 50%). Resultados de aprendizaje: 2, 3, 4, 6, 7 y 8

Entrega de resultados de la prácticas de asignatura. (25% - 45%). Resultados de aprendizaje: 2, 3, 4, 6, 7 y 8

Proyecto como trabajo dirigido (0% - 50%). Resultados de aprendizaje: 1, 2, 3, 4, 5, 6, 7 y 8

Presentaciones y debates de forma oral (0% - 20%). Resultados de aprendizaje: 1, 2, 3, 4, 6 y 8

 

El estudiante que no opte por el procedimiento de evaluación descrito anteiormente, no supere dichas pruebas durante el periodo docente o que quisiera mejorar su calificación tendrá derecho a realizar una prueba global  que será programada dentro del periodo de exámenes correspondiente a la primera o segunda convocatoria.

4.1. Presentación metodológica general

El proceso de aprendizaje que se ha diseñado para esta asignatura se basa en lo siguiente:

Las actividades de enseñanza y aprendizaje presenciales se basan en:

  1. Clase presencial. Exposición de contenidos mediante presentación o explicación por parte de un profesor (posiblemente incluyendo demostraciones).
  2. Laboratorio. Actividades desarrolladas en espacios especiales con equipamiento especializado (laboratorio, aulas informáticas).
  3. Tutoría. Período de instrucción realizado por un tutor con el objetivo de revisar y discutir los materiales y temas presentados en las clases.
  4. Evaluación. Conjunto de pruebas escritas, orales, prácticas, proyectos, trabajos, etc. utilizados en la evaluación del progreso del estudiante

 Las actividades de enseñanza y aprendizaje no presenciales se basan en:

  1. Trabajos prácticos. Preparación de actividades para exponer o entregar en las clases prácticas.
  2. Estudio teórico. Estudio de contenidos relacionados con las “clases teóricas”: incluye cualquier actividad de estudio que no se haya computado en el apartado anterior (estudiar exámenes, trabajo en biblioteca, lecturas complementarias, hacer problemas y ejercicios, etc.)

4.2. Actividades de aprendizaje

El programa que se ofrece al estudiante para ayudarle a lograr los resultados previstos comprende las siguientes actividades...

Trabajo del estudiante

La asignatura consta de 6 créditos ECTS que corresponden con 150 horas estimadas de trabajo del alumno distribuidas del siguiente modo:

  • Actividades presenciales: 50 h (Clase magistral, Resolución de problemas y casos, Prácticas de laboratorio y Prácticas especiales)

  • Realización de trabajos de aplicación o investigación prácticos: 45 h
  • Tutela personalizada profesor-alumno: 5 h
  • Estudio de teoría: 45 h
  • Pruebas de evaluación: 5 h

4.3. Programa

El programa de la asignatura comprende los siguientes bloques y contenidos de los mismos:

 

Bloque 1: Simulación numérica

  • Simulación numérica de fenómenos continuos
  • Simulación numérica de fenómenos discretos
  • Aproximaciones y técnicas numéricas

 Bloque 2: Arquitectura y Tecnología de Supercomputadores

  • Sistemas multiprocesador de memoria compartida. Coherencia, consistencia.
  • Sistemas multiprocesador de memoria distribuida. Redes de interconexión
  • Arquitecturas específicas para alto rendimiento. Extensiones multimedia, GPGPUs

 Bloque 3: Paradigmas de programación paralela

  • Memoria compartida
    • Paralelización automática. Ayuda al compilador
    • Paralelización manual: OpenMP
    • Vectorización
  • Memoria distribuida: MPI

 Bloque 4: Optimización de programas paralelos

  • Técnicas de optimización
  • Métricas y herramientas de análisis de rendimiento en supercomputadores

Los contenidos de estos bloques se reforzarán a través del desarrollo de casos prácticos en los que se aplicarán los conocimientos adquiridos para resolver un problema complejo.

 

4.4. Planificación de las actividades de aprendizaje y calendario de fechas clave

Calendario de sesiones presenciales y presentación de trabajos

Los horarios de todas las clases y fechas de las sesiones de prácticas se anunciarán con suficiente antelación a través de las webs del centro y de la asignatura.

Las fechas de entrega y seguimiento de los trabajos prácticos tutorizados se darán a conocer con suficiente antelación en clase.

 

 

Entre las principales actividades previstas se encuentran la exposición de los contenidos teóricos, el planteamiento y resolución de problemas, la realización de las prácticas propuestas y la superación de las pruebas de evaluación.

 

La organización docente prevista de las sesiones presenciales en el campus Río Ebro es la siguiente:

  • Clases magistrales
  • Resolución de problemas y casos
  • Prácticas de laboratorio

El calendario de clases, prácticas y exámenes, así como las fechas de entrega de trabajos de evaluación se anunciará con suficiente antelación.